﻿using System;
using System.Data;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using KPIS.GERP.GBMS.MODEL;

namespace KPIS.GERP.GBMS.BLL
{
    public interface IProjectHeader
    {
        DataTable GetDataProjectHeaderByYear(int Year);
        DataTable GetDataProjectHeaderBySequence(string seq);
        DataTable GetDataProjectBySequence(string seq);
        int InsertProjectHeader(string bgm_app_header_name, string bgm_app_header_descr, string bgm_app_header_date, string bgm_app_header_result, string bgm_year, string remark, Nullable<int> from_bgm_app_header_seq, string created_by);
        void InsertProject(string bgm_app_header_seq, string bgm_req_seq, string created_by);
        void InsertProjectControl(string bgm_app_header_seq, string created_by);
        void UpdateProjectHeader(string Sequence, string bgm_year, string bgm_app_header_date, string bgm_app_header_name, string bgm_app_header_descr, string remark, string UpdateBy);
        void DeleteProject(int Seq);
        void DeleteProjectHeader(int Seq);


        DataTable ListRequest(string bgm_year, string bgm_strat_list_seq, string job_site_seq, string bgm_app_header_seq);
        DataTable ListApproval(string bgm_app_header_seq);

        void ApproveTransaction(string headerID, string UserID);
        void InsertApprovalStrategy(string bgm_app_header_seq, string bgm_strat_list_seq, string bgm_source_seq, decimal total_amount, decimal approve_amount, string created_by);
        void InsertApprovalSource(string bgm_app_seq, string bgm_source_seq, decimal total_amount, decimal approve_amount, string created_by);

        DataTable GetDataProjectSourceBySequence(string bgm_prj_header_seq, string bgm_prj_seq);
        void UpdateApprovalStrategy(string bgm_app_strat_seq, decimal approve_amount, string UpdateBy);
        void UpdateApprovalSource(string bgm_app_source_seq, decimal approve_amount, string UpdateBy);

    }
}
